package com.sqx.modules.scFollow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.Result;
import com.sqx.modules.goods.entity.Goods;
import com.sqx.modules.scFollow.entity.ScFollow;
import com.sqx.modules.trends.entity.Trends;
import com.sqx.modules.trends.vo.TrendsVo;

/**
 * @autorh liyuan
 * @description sc_follow
 * @date 2021-08-12
 */
public interface ScFollowService extends IService<ScFollow> {


    Result updateFollow(ScFollow follow);


    Page<Goods> getFollowGoodsList(Long userId, Integer page, Integer limit, ScFollow follow);

    Page<TrendsVo> selectByMyCollect(Long userId, Integer page, Integer limit, ScFollow follow);
    int getMyFollowCount(Long userId);

    int getMyFollowGoodsCount(Long userId);

    /**
     * app用户端查看我的足迹列表
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result selectMyFootprintList(Long userId, Integer pageNum, Integer pageSize,Integer status);

    /**
     * 查看我关注的用户列表
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result getFollowList(Long userId,Integer pageNum, Integer pageSize);

    /**
     * 查看我的粉丝列表,并且是否已经互相关注
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result getFanList(Long userId,Integer pageNum, Integer pageSize);

    /**
     * 后台管理端查看我的足迹列表
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result selectMyFootprintLists(Long userId, Integer pageNum, Integer pageSize);
}
